package com.tju.resource.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @TableName tb_shipment
 */
@TableName(value = "tb_shipment")
@Data
public class TbShipment implements Serializable {
    /**
     * 送货单id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 编号
     */
    private String number;

    /**
     * 流水号
     */
    private String sn;
    /**
     * 出货总数量
     */
    @TableField(exist = false)
    private Long shipGtyTotal;
    /**
     * 出箱总数量
     */
    private Long boxQtyTotal;
    /**
     * 出现总尾箱
     */
    @TableField(exist = false)
    private Long lastBoxTotal;
    /**
     * 审核人
     */
    private String approve;
    /**
     * 出货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date shipmentTime;
    /**
     * 制作人
     */
    private String createBy;
    /**
     * 审核状态(0：未审核1:审核耗材通过2:发料成功3:出货成功)
     */
    private int approveStatus;
    /**
     * 审核时间
     */
    private Date approveTime;

    /**
     * 制作时间
     */
    private Date createTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;
    /**
     * 关联物料表
     */
    @TableField(exist = false)
    private List<TbShipMatl> shipMatlList;
    /**
     * 订单号
     */
    @TableField(exist = false)
    private String orderNumber;
    /**
     * 客户送货地址
     */
    @TableField(exist = false)
    private String address;

    /**
     * 客户详细地址
     */
    @TableField(exist = false)
    private String detailedAddress;

    /**
     * 客户电话
     */
    @TableField(exist = false)
    private String clientPhone;

    /**
     * 客户传真号码
     */
    @TableField(exist = false)
    private String clientFaxPhone;
    /**
     * 客户名称
     */
    @TableField(exist = false)
    private String clientName;
    /**
     * 客户编号
     */
    @TableField(exist = false)
    private String clientCode;
    /**
     *  耗材集合
     */
    @TableField(exist = false)
    private List<TbShipmentConsumables> tbShipmentConsumablesList;
}